﻿using Microsoft.Xna.Framework.Input;

namespace DrawableObjects.Actors.Aircrafts.Controller
{
    /// <summary>
    /// Contains predefined command objects for a playercontrolled drone and an associated key that triggers the command
    /// </summary>
    public class AircraftCommand
    {
        private int actionID
        {
            get;
            set;
        }

        public static AircraftCommand MOVE_BACK = new AircraftCommand(0, Keys.S);

        public static AircraftCommand MOVE_RIGHT = new AircraftCommand(1, Keys.D);

        public static AircraftCommand MOVE_FORWARD = new AircraftCommand(2, Keys.W);

        public static AircraftCommand MOVE_LEFT = new AircraftCommand(3, Keys.A);

        public static AircraftCommand FIRE = new AircraftCommand(4, Keys.Space);

        public static AircraftCommand[] aircraftCommands = new AircraftCommand[] { MOVE_BACK, MOVE_RIGHT, MOVE_FORWARD, MOVE_LEFT, FIRE };

        private AircraftCommand(int actionID, Keys standardKey)
        {
            this.actionID = actionID;
            this.standardKey = standardKey;
        }

        public Keys standardKey
        {
            get;
            private set;
        }
    }
}

